About Responser

Overview

Responser is a Perl program that generates webpages which list responses from interactive fiction games.

The raw input data is in a file called responses.json.txt, in JSON format, UTF-8 encoding. Responser also reads an image directory to determine which cover art images it can use in the output webpages.

Responser's output is a set of .html files such as:

Format of responses.json.txt

{
 "commands":{
   "xyzzy":{
      "sdesc":"short description of XYZZY on the index page",
      "intro":"text at the top of XYZZY's page",
      "outro":"text at the bottom of XYZZY's page"
   },...
 },
 "systems":{
   "ADRIFT":{...},
   ...
   "TADS 3":{...}
 },
 "works":{
   "ID":{"title":"Title Of The Work","year":"publication year",
     "xyzzy":"XYZZY response.",
     "xyzzy_nb":"Optional note about XYZZY response.",
     ...
     "variants":[
       {"title":"Variant Title",
        "xyzzy":"The response to XYZZY in the variant version of the work.",...
       },...
     ]
   },...
 }
}

The commands section lists the commands that we want to make response pages for.

The systems section lists authoring systems that have default responses for any of the commands we're interested in. Their fields are similar to those in the works section, except there's no need for title, sfx, year, or variants fields in the systems section.

The works section lists works of interactive fiction with their responses. The IDs of each work are the ones used everywhere in the Key & Compass site to uniquely identify works of IF; see kacIDs (document link to come).

About command precedence

To avoid having responses repeated too often, if a response is the same for two different commands, it gets listed on one page and not the other. The lesser command's page has to be satisfied with a "LesserCommand acts like GreaterCommand" entry; for example "PLUGH acts like XYZZY".

About NO-DO and NOTUNDERSTOOD

Yes, I know they're weird. They are pseudo-commands for the purposes of the Responser project. I'm not saying anyone actually types these commands in, but how else should I have documented their responses?

The Responser_QC program

This is a second program that analyzes the responses.json.txt data; the "QC" stands for "Quality Control". I want to know if the data is not well-formatted or incomplete, where I'm having problems, and to make suggestions where I can improve the data. This program also taps into my main datafile for IF works, currently called gamejson.txt, from my IFIndexer project.

What Responser_QC currently reports on:

TODO list


IF Responses Last updated: 28 Jan 2018 davidwelbourn(a)hotmail*com